package com.huizu.project.service.impl;

import java.util.List;

import com.huizu.common.exception.ServiceException;
import com.huizu.common.utils.SnowFlake;
import com.huizu.project.domain.ProXy;
import com.huizu.project.mapper.ProXyMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.huizu.project.mapper.ProXxMapper;
import com.huizu.project.domain.ProXx;
import com.huizu.project.service.IProXxService;

/**
 * 学校管理Service业务层处理
 * 
 * @author zhangmx
 * @date 2024-05-28
 */
@Service
public class ProXxServiceImpl implements IProXxService 
{
    @Autowired
    private ProXxMapper proXxMapper;

    @Autowired
    private ProXyMapper proXyMapper;

    /**
     * 查询学校管理
     * 
     * @param id 学校管理主键
     * @return 学校管理
     */
    @Override
    public ProXx selectProXxById(String id)
    {
        return proXxMapper.selectProXxById(id);
    }

    /**
     * 查询学校管理列表
     * 
     * @param proXx 学校管理
     * @return 学校管理
     */
    @Override
    public List<ProXx> selectProXxList(ProXx proXx)
    {
        return proXxMapper.selectProXxList(proXx);
    }

    /**
     * 新增学校管理
     * 
     * @param proXx 学校管理
     * @return 结果
     */
    @Override
    public int insertProXx(ProXx proXx)
    {
        proXx.setId(String.valueOf(SnowFlake.nextId()));
        return proXxMapper.insertProXx(proXx);
    }

    /**
     * 修改学校管理
     * 
     * @param proXx 学校管理
     * @return 结果
     */
    @Override
    public int updateProXx(ProXx proXx)
    {
        return proXxMapper.updateProXx(proXx);
    }

    /**
     * 批量删除学校管理
     * 
     * @param ids 需要删除的学校管理主键
     * @return 结果
     */
    @Override
    public int deleteProXxByIds(String[] ids)
    {
        for (String id : ids) {
            ProXy proXyPram = new ProXy();
            proXyPram.setpId(id);
            List<ProXy> proXyList = proXyMapper.selectProXyList(proXyPram);
            if (!proXyList.isEmpty())
                throw new ServiceException("有下级节点删除失败");
        }
        return proXxMapper.deleteProXxByIds(ids);
    }

    /**
     * 删除学校管理信息
     * 
     * @param id 学校管理主键
     * @return 结果
     */
    @Override
    public int deleteProXxById(String id)
    {
        ProXy proXyPram = new ProXy();
        proXyPram.setpId(id);
        List<ProXy> proXyList = proXyMapper.selectProXyList(proXyPram);
        if (!proXyList.isEmpty())
            throw new ServiceException("有下级节点删除失败");
        return proXxMapper.deleteProXxById(id);
    }
}
